#ifndef VIA_GUI_H__
#define VIA_GUI_H__

// The following ifdef block is the standard way of creating macros which make exporting 
// from a DLL simpler. All files within this DLL are compiled with the VIAGUI_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see 
// VIAGUI_API functions as being imported from a DLL, wheras this DLL sees symbols
// defined with this macro as being exported.
#ifdef VIAGUI_EXPORTS
#define VIAGUI_API __declspec(dllexport)
#else
#define VIAGUI_API __declspec(dllimport)
#endif

// // This class is exported from the viagui.dll
// class VIAGUI_API CViagui {
// public:
// 	CViagui(void);
// 	// TODO: add your methods here.
// };
// 
// extern VIAGUI_API int nViagui;
// 
// VIAGUI_API int fnViagui(void);

#ifdef __cplusplus
extern "C" {
#endif

	VIAGUI_API HANDLE	viaCreate(HINSTANCE hInstance, HANDLE hViaCommands);
	VIAGUI_API int		viaDialog(HANDLE via);
	VIAGUI_API void		viaRelease(HANDLE *via);

	// DON'T CALL IT. It's not usable.
	VIAGUI_API HANDLE	viaCreateDlg(HINSTANCE hInstance, HANDLE hViaCommands);

#ifdef __cplusplus
}
#endif

typedef HANDLE (*VIACREATE_FUNC) (HINSTANCE hInstance, HANDLE hViaCommands);
typedef int	(*VIADIALOG_FUNC) (HANDLE via);
typedef void	(*VIARELEASE_FUNC) (HANDLE *via);

#endif